Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
АСУ

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра АСУ Звіт Лабораторна робота № 6 Розв’язування системи нелінійних алгебраїчних рівнянь методом простої ітерації (методом Ньютона) з дисципліни: «Чисельні методи» Варіант №9 Мета роботи: вивчити і засвоїти метод Ньютона. Порядок роботи 1) Попереднє опрацювання теоретичного матеріалу. 2) Отримання допуску до виконання лабораторної роботи. 3) Опрацювання типового навчального завдання (прикладів). 4) Створення проекту для виконання індивідуального завдання. 5) Оформити звіт для захисту лабораторної роботи за зразком: назва роботи; мета роботи; короткі теоретичні відомості; алгоритм розв’язування задачі; тексти відповідних модулів проекту; аналіз отриманих результатів та висновки. 6) Захист лабораторної роботи. Завдання Використовуючи метод простої ітерації, розв’язати з точністю ε = 10 такі нелінійні системи рівнянь. Початкове наближення знайти графічно.  Код програми #include <iostream> #include <locale> #include <math.h> using namespace std; double m_jak[2][2], m_rez[2], v_delta[2], cos(...); void SetJ (double x, double y) { m_jak[0][0]=(-1)*x+1; m_jak[0][1]=1; m_jak[1][0]=2; m_jak[1][1]=1-0.5*y*y; } void SetR (double x, double y) { m_rez[0]=-(cos(0.4*y+x*x)+x*x+y*y-1.6); m_rez[1]=-(1.5*x*x-2*y*y-1); } void GetD () { double det=1.0/(m_jak[0][0]*m_jak[1][1]-m_jak[1][0]*m_jak[0][1]); double buf; buf=m_jak[0][0]; m_jak[0][0]=m_jak[1][1]*det; m_jak[1][1]=buf*det; m_jak[1][0]=(-m_jak[1][0])*det; m_jak[0][1]=(-m_jak[0][1])*det; v_delta[0]=(m_rez[0])*m_jak[0][0]+(m_rez[1])*m_jak[0][1]; v_delta[1]=(m_rez[0])*m_jak[1][0]+(m_rez[1])*m_jak[1][1]; } void main () { double x=1, y=4; setlocale (LC_ALL,""); cout<<"Розв’язування системи нелiнiйних алгебраїчних рiвнянь методом простої iтерацiї (методом Ньютона):"<<endl; for (int i=1; i<8; i++){ SetJ (x, y); SetR (x, y); GetD (); x+=v_delta[0]; y+=v_delta[1]; cout.precision(20); cout<<"Iтерацiя "<<i<<endl; cout<<"x="<<x<<" y="<<y<<endl; cout.precision(6); cout<<"Значення функцiй у цих точках: F1(x, y)="<<m_rez[0]<<" F2(x, y)="<<m_rez[1]<<endl; } cin.get(); } Приклад виконання програми  Висновок: на даній роботі була створена програма для обчислення системи нелінійних рівнянь методом простої ітерації (методом Нютона). Програма обчислювала розвязок для зазначеної у завданні системи рівнянь. При виконанні програми, для досягнення розвязку, було здійснено 7 ітерацій. Початкове положення невідомих і при першій ітерації було обране таке: х=-34,15089, у=-10,5431, значення функцій для цих невідомих: F1(х , у)=-14,5431, F2(х , у)=31,5. Як зображено на скріншоті виконання програми при другій ітерації невідомі набули таких значень: х=-71,2308, у=16,05981, значення функцій для цих невідомих: F1(х, у)=1276,79, F2(х, у)=-1526,11. Після семи операцій було отримано такий кінцевий результат: х=-2743,4552556 у=331,934249 (точне значення зображено на скріншоті виконання програми), а значення функцій у цих точках наближені до нуля. Оскільки для обчислення даної системи слід здійснити всього 7 ітерацій, то єдине обмеження у точності обчислення становить апаратна і програмна частина. Для розв’язання більш складних систем кількість ітерацій може бути надзвичайно великою, тому слід задавати точність обчислення таких систем.  Абсолютна похибка: сos(0,4у+х2)+х2+у2-1,6=-1,76367 1,88267-1,7637=0,11897 1,5х2-2у2-1=2,311 2,6753-2,311=0,3643 Відносна похибка: 0,11897/1,88267*100%=6,3% 0,3643/2,6753*100%=13,6%
Антиботан аватар за замовчуванням

06.12.2015 15:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини